Electrical power system performance simulation

ABSTRACT

A computer program product for simulating the performance of an electrical power system. The computer program product consists of a computer-readable medium containing an electrical power system model module, an input module and a simulation engine. The electrical power system model module contains one or more electrical power system models consisting of interrelated blocks and connections. The blocks represent elements comprising electrical circuits, electromechanical devices, and measurement devices, and the relationships between said blocks and said connections in said model are read-only with respect to an end user. The input module is operable on a computer to allow an end user to specify at least one characteristic for at least one said block in said model. The simulation engine is operable on a computer to simulate the performance of an electrical power system represented by the model using the specified block characteristics.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates generally to simulation. Moreparticularly, the present invention relates to simulation of theperformance of electrical power systems.

[0003] 2. Description of the Related Art

[0004] Across disciplines such as economics, engineering, andenvironmental science, experts are skeptical of the sustainability ofour current means of generating, distributing, and using electricalpower. In response, both electrical power producers and consumers arecontemplating alternatives to conventional electrical power grids.Implementation of distributed power generation has attracted substantialattention as one alternative.

[0005] In a typical distributed power generation configuration, a localsource, such as a wind driven micro-turbine, a fuel cell, or alow-emission combustion engine/permanent magnet generator combination isconnected to both an aggregate local load and the conventional powergrid. When local load demand exceeds the local source supply, theremaining needed electrical power is drawn from the grid. When localsupply exceeds local demand, excess power is distributed back to thegrid.

[0006] Local sources, such as fuel cells, typically provide electricalpower that must be conditioned before being supplied to a load orconnected to a conventional power grid. Inverters and associateassociated power electronics for control, along with transformers forvoltage conversion, impedance matching, and isolation are typically usedto condition locally generated power. FIG. 1 generally illustrates therelationship between a local source, a local load, the grid, andconditioning elements.

[0007] It is often desirable to evaluate the performance of analternative electrical power system. Public utility companiesunderstandably desire to control the nature of devices connected to thegrid in order to maintain a quality of service, i.e. to preventinterruptions, limit transients, and maintain efficiency. Electricalpower consumers, especially large industrial or institutional users,desire to maintain efficient use of electrical power.

[0008] One option for evaluating the performance of an alternativeelectrical power system is to install the system and collect empiricaldata through instrumentation. This option is typically impractical fromcost, schedule, and performance perspectives. Reliance on manufacturer'sspecifications and static analysis is another option. However, such anapproach typically does not provide a satisfactory level of confidencein the results.

[0009] Simulation using tools such as Simulink™ (an interactive computerprogram product for modeling, simulating, and analyzing dynamic systems)provide another option for evaluating the performance of an alternativeelectrical power system. This option mitigates the cost, schedule andperformance drawbacks of collecting empirical data and produces resultswith a higher degree of confidence than static analysis. However, suchsophisticated programs typically require a working knowledge of complexmodeling and simulation techniques, along with fluency in the programitself and knowledge of the concepts of the problem domain underconsideration, i.e., electrical power generation and distribution.

[0010] Considering these needs and drawbacks, it is desirable to providea system and method that facilitates evaluation of electrical powersystems containing alternate sources without the cost, schedule, andperformance drawbacks associated with collection of data throughempirical methods; with a higher degree of confidence in the resultsthat that available through static analysis; and requiring less end userknowledge of details of sophisticated simulation software.

SUMMARY OF THE INVENTION

[0011] A computer program product for simulating the performance of anelectrical power system. The computer program product consists of acomputer-readable medium containing an electrical power system modelmodule, an input module and a simulation engine. The electrical powersystem model module contains one or more electrical power system modelsconsisting of interrelated blocks and connections. The blocks representelements comprising electrical circuits, electromechanical devices, andmeasurement devices, and the relationships between blocks andconnections the model are read-only with respect to an end user. Theinput module is operable on a computer to allow an end user to specifyat least one characteristic for at least one block the model. Thesimulation engine is operable on a computer to simulate the performanceof an electrical power system represented by the model using thespecified block characteristics.

DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

[0012]FIG. 1 illustrates the relationship between a source, invertermodule, transformer, load, and grid as represented in the models of thepresent invention.

[0013]FIG. 2 is a block diagram that illustrates a computer system uponwhich an embodiment of the present invention may be implemented.

[0014]FIG. 3 is a block diagram illustrating the combined grid andstand-alone electrical power system model underlying preferredembodiments of the present invention.

[0015]FIG. 4 is a block diagram illustrating the grid electrical powersystem model underlying preferred embodiments of the present invention.

[0016]FIG. 5 is a block diagram illustrating the stand-alone electricalpower system model underlying preferred embodiments of the presentinvention.

[0017]FIG. 6 is an illustration of the link between various windows of apreferred embodiment of the present invention.

[0018]FIG. 7 is an illustration of a configuration choice window of thepresent invention.

[0019]FIG. 8 is an illustration of a principle window of the presentinvention.

[0020]FIG. 9a is an illustration of a source setting window of thepresent invention.

[0021]FIG. 9b is an illustration of a source details window of thepresent invention.

[0022]FIG. 10 is an illustration of an inverter setting window of thepresent invention.

[0023]FIG. 11 is an illustration of a transformer setting window of thepresent invention.

[0024]FIG. 12 is an illustration of a grid setting window of the presentinvention.

[0025]FIG. 13 is an illustration of a load setting window of the presentinvention.

[0026]FIG. 14 is an illustration of a motor setting window of thepresent invention.

[0027]FIG. 15 is an illustration of a motor fault setting window of thepresent invention as an example of a general fault setting window of thepresent invention.

[0028]FIG. 16 is an illustration of a motor isolation contactor windowof the present invention as an example of a generalswitch/breaker/contactor setting window of the present invention.

[0029]FIG. 17 is an illustration of a simulation window of the presentinvention.

[0030]FIGS. 18 and 19 are illustrations of scope windows of the presentinvention.

DETAILED DESCRIPTION OF THE INVENTION

[0031] As required, detailed embodiments of the present invention aredisclosed herein; however, it is to be understood that the disclosedembodiments are merely exemplary of the invention that may be embodiedin various and alternative forms. The figures are not necessarily toscale, some features may be exaggerated or minimized to show details ofparticular components. Therefore, specific structural and functionaldetails disclosed herein are not to be interpreted as limiting, butmerely as a basis for the claims and as a representative basis forteaching one skilled in the art to variously employ the presentinvention.

[0032]FIG. 2 is a block diagram that illustrates a computer system 100upon which an embodiment of the invention may be implemented. Computersystem 100 includes a bus 102 or other communication mechanism forcommunicating information, and a processor 104 coupled with bus 102 forprocessing information. Computer system 100 also includes a main memory106, such as a random access memory (RAM) or other volatile storagedevice, coupled to bus 102 for storing information and instructions tobe executed by processor 104. Main memory 106 also may be used forstoring temporary variables or other intermediate information duringexecution of instructions to be executed by processor 104. Computersystem 100 further includes a read only memory (ROM) 108 or othernon-volatile storage device coupled to bus 102 for storing staticinformation and instructions for processor 104. A storage device 110,such as a magnetic disk or optical disk, is provided and coupled to bus102 for storing information and instructions.

[0033] Computer system 100 may be coupled via bus 102 to a display 112,such as a cathode ray tube (CRT), for displaying information to acomputer user. An input device 114, including alphanumeric and otherkeys, is coupled to bus 102 for communicating information and commandselections to processor 104. Another type of user input device is cursorcontrol 116, such as a mouse, a trackball, or cursor direction keys forcommunicating direction information and command selections toprocessor104 and for controlling cursor movement on display 112. Thisinput device typically has two degrees of freedom in two axes, a firstaxis (e.g., x) and a second axis (e.g., y), that allows the device topspecify positions in a plane.

[0034] One embodiment of the invention is related to the use of computersystem 100 for simulating the performance of an electrical power systemcontaining a non-grid source, e.g., fuel cells, or a turbine generator.According to one embodiment of the invention, simulation is provided bycomputer 100 in response to processor 104 executing one or moresequences of one or more instructions contained in main memory 106. Suchinstructions may be read into main memory 106 from another computerreadable medium, such as a storage device 110. Execution of thesequences of instructions contained in main memory 106 causes processor104 to perform the process steps described herein. One or moreprocessors in a multi-processing arrangement may also be employed toexecute the sequences of instructions contained in main memory 106. Inalternative embodiments, hardwired circuitry may be used in place of orin combination with software instructions to implement the invention.Thus, embodiments of the invention are not limited to any specificcombination of hardware circuitry and software.

[0035] The term “computer-readable medium” as used herein refers to anymedium that participates in providing instructions to processor 104 forexecution. Such a medium may take many forms, including but not limitedto, non-volatile media, volatile media, and transmission media.Non-volatile media include, for example, optical or magnetic disks, suchas storage device 110. Volatile media include dynamic memory, such asmain memory 106. Transmission media include coaxial cables, copper wireand fiber optics, including the wires that comprise bus 102.Transmission media can also take the form of acoustic or electromagneticwaves, such as those generated during radio frequency (RF) and infrared(IR) data communications. Common forms of computer-readable mediainclude, for example, a floppy disk, a flexible disk, hard disk,magnetic tape, any other magnetic medium, a CD-ROM, DVD, any otheroptical medium, punch cards, paper tape, any other physical medium, withpatterns of holes, a RAM, a PROM (programmable ROM), and EPROM(electronically PROM) a FLASH-EPROM, any other memory chip or cartridge,a carrier wave, or any other medium from which a computer can read.

[0036] Various forms of computer-readable media may be involved incarrying one or more sequences of one or more instructions to processor104 for execution. For example, the instructions may initially be borneon a magnetic disk of a remote computer. The remote computer can loadinstructions into its dynamic memory and send the instructions over atelephone line using a modem. A modem local to computer system 100 canreceive the data on the telephone line and use an infrared transmitterto convert the data to an infrared signal. An infrared detector coupledto bus 102 can receive the data carried in the infrared signal and placethe data on bus 102. Bus 102 carries the data to main memory 106, fromwhich processor 104 retrieves and executes the instructions. Theinstructions received by main memory 106 may optionally be stored onstorage device 110 either before or after execution by processor 104.

[0037] Computer system 100 also includes a communication interface 118coupled to bus 102. Communication interface 118 provides a two-way datacommunication coupling to a network link 120 that is connected to alocal network 122. For example, communication interface 118 may be anintegrated services digital network (ISDN) card or modem to provide adata communication connection to a corresponding type of telephone line.As another example, communication interface 118 may be a local areanetwork (LAN) card to provide a data communication connection to acompatible LAN. Wireless links may also be implemented. In any suchimplementation, communication interface 118 sends and receiveselectrical, radio frequency, or optical signals that carry digitalstreams representing various types of information.

[0038] Network link 120 typically provides data communication throughone or more networks to other data devices. For example, network link120 may provide a connection through local network 122 to a hostcomputer 124 or to data equipment operated by an Internet ServiceProvider (ISP) 126. ISP 126 in turn provides data communication servicesthrough the worldwide packet data communication network, now commonlyreferred to as the Internet 128. Local network 122 and Internet 128 bothuse electrical, radio frequency, or optical carriers to carry datastreams. The signals through the various networks and the signals on thenetwork link 120 and through communication interface 118, which carrythe data to and from computer system 100, are exemplary forms of carrierwaves transporting the information.

[0039] Computer system 100 can send messages and receive data, includingprogram code, through the network(s), network link 120, andcommunication interface 118. In the Internet example, a server 130 mighttransmit a requested code for an application program through Internet128, ISP 126, local network 122, and communication interface 118. Inaccordance with the invention, one such downloaded application providesfor simulation of the performance of an electrical power system asdescribed herein. The received code may be executed by processor 104 asit is received, and/or stored in a storage device 110, or othernon-volatile storage for later execution. In alternative embodiments ofthe invention only that portion of the instructions necessary tointerface the computer system 100 to the server 130 or host 124 isdownloaded to the computer system, i.e., in an Internet ApplicationServer Provider (ASP) configuration, or a thin-client configuration.

[0040] Referring to FIG. 3a, an electrical power system model topology300 built in Simulink™ using basic blocks, configurable subsystems, andelements from Simulink™ power system blockset is shown. A description ofthose properties salient to the present invention follows.

[0041] A block represents an elementary dynamic system; it includes oneor more of the following: a set of inputs, a set of states, and a set ofoutputs. Each output is a function of time, the associated inputs, andthe states of the block. The specific function that relates a block'soutput to its inputs, states, and time depends on the type of the block.A block in a model is a specific instance of a block type.

[0042] In general, Simulink™ configurable subsystems enable a user todefine a block to represent any one of a plurality of blocks containedin a specified library. A dialog box allows the user to specify aparticular block and values of the parameters of the specified block. Inthe present invention, an end user (as distinguished form a user withaccess to the underlying model topology) will not have access to theSimulink™ dialog box, but will be restricted to choosing a preformattedblock and adjusting parameters within fixed ranges. The Simulink™ powerblockset contains pre-configured blocks representing common componentsand devices found in electrical power networks.

[0043] Preferred embodiments of the present invention offer an end-userthe choice of one of three models: a combined model 300 as illustratedin FIG. 3; a stand-alone model 400 as illustrated in FIG. 4; and agrid-only model 500 as illustrated in FIG. 5. The combined mode willalso be referred to as the “grid & stand alone” mode. The stand-alonemodel 400 and grid-only model 500 are subsets of the combined model 300.As such, the following description addressing the combined model 300also applies to the stand-alone model 400 and the grid-only model wherethose models contain elements found in the combined model 300.

[0044] The combined model 300, illustrated in FIG. 3, contains thefollowing blocks: source 310; inverter module 312; transformer 314; grid320; load 330; motor 340; various fault blocks 350 (for simulating afault at various points in the modeled system); various isolationswitches, circuit breakers, and contactors i.e., source isolationcontactor 361, grid isolation breaker 362, motor isolation breaker 363;and various measurement blocks, i.e., transformer measurement block 371,grid measurement block 371, and load measurement block 373; variousscopes, i.e., general scope 381, current scope 382, voltage scope 383,power and motor speed scope 384; various input blocks, i.e., sourcepreference block 391, voltage reference block 392, isolation contactorblock 393, mechanical torque block 394, grid control block 395, gridfrequency block 396, grid amplitude block 397, and grid disphasage block398

[0045]FIG. 6 illustrates one possible set of relationships between thosewindows available to an end user through the display 102. Each windowand the functionality it provides will now be described.

[0046] In the present invention one or more electrical power systemmodels are created and stored on computer-readable media. In preferredembodiments of the present invention, three models (combined 300,stand-alone 400, and grid-only 500) are built from interrelated blocksand connections. These models are not accessible to an end user.Instead, the invention prompts an end user, through an input moduleconfiguration choice window 700, to select one of the three modelconfigurations for simulation as illustrated in FIG. 7. An end user mayselect a particular model configuration by selecting the radiobutton701, 702, 703 most proximate to the title of the desired modelconfiguration.

[0047] The M-file associated with window 700 includes the followinginstructions

[0048] Launch

[0049] Open the figure

[0050] Callbacks

[0051] Radiobutton1:

[0052] Open the associated model: epc_model_grid_alone.mdl

[0053] Set the variable “modechoice” to “grid”

[0054] Open the Principal window

[0055] Radiobutton2:

[0056] Open the associated model: epc_model_SA_alone.mdl

[0057] Set the variable “modechoice” to “SA”

[0058] Open the Principal window

[0059] Radiobutton3:

[0060] Open the associated model: epc_model.mdl

[0061] Set the variable “modechoice” to “GridSA”

[0062] Open the Principal window

[0063]FIG. 8 illustrates the principal window 800 of preferredembodiments of the present invention. The principal window 800 providesan end user with a summary view of current simulation parameters. Keymodel blocks are represented as subwindows, some including pull-downmenus or checkboxes as indicated in FIG. 8 and described herein.

[0064] The power source subwindow 809 contains a pull-down menu 809 afor selecting one power source from among those sources available in thepower source configurable subsystem block 310. In the preferredembodiment, power source choices include a direct current (DC) source, a3-phase alternating current (AC) source and rectifier, a permanentmagnet generator (PMG) and rectifier, and a turbine linked to a PMG andrectifier. The power source subwindow 809 also contains a summary of thecurrent parameter values for the currently selected power sourcesubsystem. Selecting within the power source subwindow 809, e.g., byusing the input device 114 or cursor control 116 will open the sourcesetting window 900 illustrated in FIG. 9a and described below. Selectionis accomplished typically by right clicking on the text zone.

[0065] The inverter module subwindow 810 contains a summary of thecurrent parameter values for the inverter module configurable subsystemblock 312. Selecting within the inverter module subwindow 810, e.g., byusing the input device 114 or cursor control 116 will open the invertersetting window 1000 illustrated in FIG. 10 and described below.

[0066] The transformer subwindow 811 contains a pull-down menu 811 a forselecting transformer from among those sources available in thetransformer configurable subsystem block 314. In the preferredembodiment, transformer choices include combinations of delta, Y, and Ywith neutral. The transformer subwindow 811 also contains a summary ofthe current parameter values for the currently selected transformer.Selecting within the transformer subwindow 811, e.g., by using the inputdevice 114 or cursor control 116 will open the transformer settingwindow 1100 illustrated in FIG. 11 and described below.

[0067] The grid subwindow 812 contains a summary of the currentparameter values for the grid block 320. Selecting within the gridsubwindow 812, e.g., by using the input device 114 or cursor control 116will open the grid setting window 1200 illustrated in FIG. 12 anddescribed below.

[0068] The load subwindow 813 contains a pull-down menu 813 a forselecting load configuration from among those load configurationsavailable in the load configurable subsystem block 330. In the preferredembodiment, load choices include Y without ground, Y with ground, Delta.The load subwindow 813 also contains a summary of the current parametervalues for the currently selected transformer. Selecting within the loadsubwindow 813, e.g., by using the input device 114 or cursor control 116will open the load setting window 1300 illustrated in FIG. 13 anddescribed below.

[0069] The motor subwindow 814 contains a summary of the currentparameter values for the motor block 340. The motor subwindow 814 alsocontains a checkbox 814a for connecting or disconnecting the motor block340. Selecting within the motor subwindow 814, e.g., by using the inputdevice 114 or cursor control 116 will open the motor setting window 1400illustrated in FIG. 14 and described below.

[0070] The grid fault subwindow 815 contains a summary of the currentparameter values for the grid fault block 350. Selecting within the gridfault subwindow 815, e.g., by using the input device 114 or cursorcontrol 116 will open the grid fault setting window 1500 illustrated inFIG. 15 and described below. Similar fault subwindows may also representother fault blocks.

[0071] Subwindows representing isolation switches (window 816), gridbreakers (window 817), and motor circuit breakers (window 818) are alsoincluded in the principal window 800. Selecting within any of thesewindows, e.g., by using the input device 114 or cursor control 116 willopen the appropriate setting window for control of switch, breaker, orcontact control as known in the art.

[0072] In addition, principal window 800 allows an end user severalcontrol choices leading to other interactive windows. An end user mayreturn to the configuration choice window 700 by selecting the “Changethe EPC Mode” pushbutton 819. An end user may invoke a window to load apreviously saved configuration by selecting the “Load a configuration”pushbutton 820. An end user may invoke a window to save the currentconfiguration by selecting the “Save the configuration” pushbutton 821.The illustrated embodiment allows an end user to proceed directly to asimulation window by selecting the “Simulation” pushbutton 822, or toexit the program by selecting the “Exit” pushbutton 823.

[0073] The M-file associated with window 800 and it subwindows includesthe following instructions:

[0074] Launch

[0075] Open the figure

[0076] Set the parameter text, Popup menu and the visibility for eachblock:

[0077] Source

[0078] Inverter

[0079] Transformer

[0080] Grid

[0081] Load

[0082] Motor

[0083] Callbacks

[0084] For the Source block:

[0085] Popupmenu (SourceMenu):

[0086] Change the block in the model according to the new choice

[0087] Set the parameters values in the Text uicontrol according to theblock choice (setstring.m)

[0088] Open the Source setting window (fig_source_model.m)

[0089] StaticText (SourceText1 or SourceText2): buttonDownFunction

[0090] Open the Source setting window (fig_source_model.m)

[0091] For the Inverter block:

[0092] StaticText (InverterText1 or InverterText2(later)):buttonDownFunction

[0093] Open the Inverter setting window (fig_EPC_model.m)

[0094] StaticText (InvertText2): buttonDownFunction

[0095] Open a message box: Protection not available for this version

[0096] For the Transformer block:

[0097] Popupmenu (TransfoMenu):

[0098] Change the widding parameter in the model according to the newchoice

[0099] Set the parameters values in the Text uicontrol according to theblock choice (setstring.m)

[0100] Open the Transformer setting window (fig_transfo_model.m)

[0101] StaticText (TransfoText1 or TransfoText2): buttonDownFunction

[0102] Open the Transformer setting window (fig_transfo_model.m)

[0103] For the Grid block: (if Grid Mode or Grid & SA Mode)

[0104] StaticText (GridText1 or GridText2): buttonDownFunction

[0105] Open the Grid setting window (fig_grid_model.m)

[0106] For the Load block:

[0107] Popupmenu (LoadMenu):

[0108] Change the block in the model according to the new choice

[0109] Set the parameters values in the Text uicontrol according to theblock choice (setstring.m)

[0110] Open the Load setting window (fig_load_model.m)

[0111] StaticText (LoadText1 or LoadText2): buttonDownFunction

[0112] Open the Load setting window (fig_load_model.m)

[0113] For the Motor Block:

[0114] Popupmenu (MotorMenu):

[0115] Change the block in the model according to the new choice

[0116] Set the parameters values in the Text uicontrol according to theblock choice (setstring.m)

[0117] Open the Motor setting window (fig_motor_model.m)

[0118] StaticText (MotorText1 or MotorText2): buttonDownFunction

[0119] Open the Motor setting window (fig_motor_model.m)

[0120] For the Fault blocks:

[0121] StaticText (FaultLoad(or Grid)1):

[0122] Set the parameter “faultchoice”

[0123] Open the Fault setting window (fig_fault_model.m)

[0124] For the Contactor Isolation or Motor Connection or Gridconnection block (when they are visible):

[0125] StaticText

[0126] Set the parameter “breakerchoice”

[0127] Open the Breaker setting window (fig_breaker_model.m)

[0128] Others:

[0129] Pushbutton1 (Change the mode):

[0130] Open a message box to warn the user he will lose his setting andask me if he wants to save them

[0131] Close the current model

[0132] Open the “fig_choice_mode” window (fig_choice_mode.m)

[0133] Pushbutton2 (Load a configuration):

[0134] Open the dialog window with the arguments: pos and load_file(filedlg.m)

[0135] Pushbutton3 (Save a configuration):

[0136] Open the dialog window with the arguments: pos and save_file(filedlg.m)

[0137] Pushbutton4 (Simulation):

[0138] Open the Simulation window with the arguments: pos and load_file(filedlg.m)

[0139] The source setting window 900, illustrated in FIG. 9a, allows auser to set a variety of source parameters by direct text entry, e.g.,editbox 901 or through use of a slider bar 902. The user may also savethe current configuration or load a saved configuration at this andsubsequent windows by selecting the appropriate button e.g., 903, 904.Upon selecting “Load a configuration,” e.g., 903 or “Save theconfiguration,” e.g., 904, the user is prompted for file informationregarding the configuration to be loaded or saved. Selecting within thesource setting window 900 is by using the input device 114 or cursorcontrol 116. The M-file associated with window 900 includes thefollowing instructions.

[0140] Launch

[0141] Open the figure

[0142] Set the Popupmenu according to the block choice in the model

[0143] Set the text, the EditBox and the slider, the visibility for eachgroup according to the source choice and the parameter value(SetEditBox.m):

[0144] Voltage: Amplitude (V) or Peak Amplitude, Speed Reference, PowerReference

[0145] Frequency

[0146] Callbacks

[0147] Pushbutton1 (Load a configuration):

[0148] Open the dialog window with the arguments: pos and load_file(filedlg.m)

[0149] Pushbutton2 (Save a configuration):

[0150] Open the dialog window with the arguments: pos and save_file(filedlg.m)

[0151] Pushbutton3 (OK):

[0152] Validation that sets the model parameters.

[0153] Load the block choice

[0154] Set the model parameters according to the block choice(epc_model_*.mdl)

[0155] Set the parameters values in the Text uicontrol in the principalwindow according to the block choice (setstring.m)

[0156] Close the modification window

[0157] Popupmenu:

[0158] Change the block in the model according to the new choice

[0159] Set the parameters values in the Text uicontrol (setstring.m)

[0160] Set the parameters values in the Edit Box and the Slidersaccording to the block choice (SetEditBox.m)

[0161] Edit box and sliders:

[0162] the same approach for the 2 groups:

[0163] Edit box:

[0164] Test if the values input is valid: numeric and not out of range

[0165] According to the test:

[0166] Yes: set the slider

[0167] No: Error Dialog Box

[0168] Slider:

[0169] Set the Edit Box value according to the slider value

[0170] The source details window 910, illustrated in FIG. 9b, allows auser to set further source details, again, by use of direct text entry,e.g., editbox 911 or through use of a slider bar 912. The M-fileassociated with window 910 includes the following instructions.

[0171] Launch

[0172] Open the figure

[0173] Set the text, the EditBox and the slider for each group accordingthe parameter value (SetEditBox.m)

[0174] Callbacks

[0175] Pushbutton1 (Load . . . ), 2 (Save . . . ), 3 (OK):

[0176] See fig_source_model

[0177] EditBox and Slider (the 5 groups)

[0178] See fig_source_model

[0179] The inverter setting window (FIG. 10, 1000), transformer settingwindow (FIG. 11, 1100), grid setting window (FIG. 12, 1200), loadsetting window (FIG. 13, 1300), and motor setting window (FIG. 14, 1400)each operate in a similar fashion. The M-files associated with thesewindows contains the following code.

[0180] Inverter Settings

[0181] Launch

[0182] Open the figure

[0183] Set the text, the EditBox and the slider for each group accordingthe parameter value and the block choice (SetEditBox.m)

[0184] Callbacks

[0185] Pushbutton1 (Load . . . ), 2 (Save . . . ), 3 (OK):

[0186] See fig_source_model

[0187] EditBox and Slider (the 8 groups)

[0188] See fig_source_model

[0189] Transformer settings

[0190] Launch

[0191] Open the figure

[0192] Set the text, the EditBox and the slider for each group accordingthe parameter value and the block choice (SetEditBox.m)

[0193] Callbacks

[0194] Pushbutton1 (Load . . . ), 2 (Save . . . ), 3 (OK):

[0195] See fig_source_model

[0196] EditBox and Slider (the 10 groups)

[0197] See fig_source_model

[0198] Popupmenu:

[0199] See fig_source_model

[0200] Here, it's not a block choice to change, but 2 parameters to set:connection for winding 1 & 2

[0201] Grid Settings

[0202] Launch

[0203] Open the figure

[0204] Set the text, the EditBox and the slider for each group accordingthe parameter value (SetEditBox.m)

[0205] Callbacks

[0206] Pushbutton1 (Load . . . ), 2 (Save . . . ), 3 (OK):

[0207] See fig_source_model

[0208] EditBox and Slider (the 12 groups)

[0209] See fig_source_model

[0210] Popupmenu (rank and sequence):

[0211] No callback because the parameters values are set in the modelwhen the use press the OK

[0212] Load Settings

[0213] Launch

[0214] Open the figure

[0215] Set the text, the EditBox, the slider and the visibility for eachgroup according the parameter value and the block choice (SetEditBox.m)

[0216] Callbacks

[0217] Pushbutton1 (Load . . . ), 2 (Save . . . ), 3 (OK):

[0218] See fig_source_model

[0219] EditBox and Slider (the 5 groups)

[0220] See fig_source_model

[0221] Popupmenu:

[0222] See fig_source_model

[0223] Motor Settings

[0224] Launch

[0225] Open the figure

[0226] Set the text, the EditBox and the slider for each group accordingthe parameter value (SetEditBox.m)

[0227] Callbacks

[0228] Pushbutton1 (Load . . . ), 2 (Save . . . ), 3 (OK):

[0229] See fig_source_model

[0230] EditBox and Slider (the 11 groups)

[0231] See fig_source_model

[0232] EditBox alone (5):

[0233] Check if the string is valid: numeric, good format, out of range?

[0234]FIG. 15 is a motor fault window 1500, illustrative of faultwindows of the present invention in general. Through that window 1500,an end user may select the specific phase or ground into which tointroduce a fault. An end user may also indicate the transition timefrom active to not active fault status. The M-file associated with thiswindow contains the following code.

[0235] Launch

[0236] Open the figure

[0237] Set the title text, the EditBox and the checkbox according theparameter value (SetEditBox.m)

[0238] Callbacks

[0239] Pushbutton1 (Load . . . ),2 (Save . . . ), 3 (OK):

[0240] See fig_source_model

[0241] Checkbox 1,2,3,4:

[0242] No callback because the parameters values are set in the modelwhen the use press the OK

[0243] EditBox 1, 2:

[0244] Check if the string is valid: numeric, good format, out of range?

[0245]FIG. 16 is a motor isolation contactor window 1600, illustrativeof contactor, isolation switch, and circuit breaker windows of thepresent invention in general. Through that window 1600, an end user mayselect the characteristics of a contactor 361 or breaker 362, 363. TheM-file associated with this window contains the following code

[0246] Launch

[0247] Open the figure

[0248] Set the title text, the EditBox and the sliders according theparameter value (SetEditBox.m)

[0249] Callbacks

[0250] Pushbutton1 (Load . . . ) 2 (Save . . . ) 3 (OK):

[0251] See fig_source_model

[0252] EditBox 1, 2:

[0253] Check if the string is valid: numeric, good format, out of range?

[0254] EditBox and Slider (the 2 groups)

[0255] See fig_source_model

[0256] Typically, after loading saved settings or entering settingsthrough the previously described windows, an end user may invoke thesimulation window 1700, illustrated in FIG. 17. The Simulation window,through a combination of checkboxes and editboxes employed in thefashion describe above and illustrated in FIG. 17, offers an end userthe opportunity to set simulation start and stop times, load an initialstate for the system (typically a previously saved final state), andsave output waveforms to a file. The M-file associated with this windowcontains the following instructions.

[0257] Launch

[0258] Open the figure

[0259] Callbacks

[0260] Pushbutton1 (Load . . . ), 2 (Save . . . ):

[0261] See fig_source_model

[0262] EditBox 1, 2:

[0263] Check if the string is valid: numeric, good format, out of range?

[0264] Checkbox:

[0265] If selected, one Radio button must be activated

[0266] If a Radio button is selected the associated checkbox isactivated

[0267] Radio buttons:

[0268] Create a link between them: only one can be selected in eachcategory: Initial and final State

[0269] Toggle buttons:

[0270] When you start a simulation, the buttons represent the simulationstate

[0271] Before beginning a simulation:

[0272] Star button is up and enable.

[0273] Pause button is up and disable

[0274] Continue button is up and disable

[0275] Stop button is up and disable

[0276] When the simulation is running:

[0277] Star button is pushed and disable.

[0278] Pause button is up and enable

[0279] Continue button is up and disable

[0280] Stop button is up and enable

[0281] When you do a pause:

[0282] Star button is pushed and disable.

[0283] Pause button is pushed and disable

[0284] Continue button is up and enable

[0285] Stop button is up and enable

[0286] When you continue: same state than for running

[0287] When the simulation stop: same state than before running

[0288] Simulation output may be saved to a file in main memory 106 or ona storage device 110 for later plotting, or displayed to a display 112in the manner depicted in FIGS. 18 and 19.

[0289] The output illustrated in FIG. 18 is compiled from simulationvoltage data collected at the model point corresponding to scope voltage383 in FIG. 3. The voltages monitored by the illustrated preferredembodiment include the DC voltage generated by the EPC source310, the3-phase AC voltage output by the inverter module 312, the 3-phasevoltage at the transformer 314 output, the 3-phase voltage at the load330, and the 3-phase voltage supplied at the grid 320. For multiphase ACvoltages (as well as multiphase AC currents), the values plotted foreach phase are in different colors readily distinguishable from eachother. The output illustrated in FIG. 19b are the corresponding currentmeasurements through the same points in the circuit at which voltage ismeasure in FIG. 18.

[0290]FIG. 19a illustrates the systems ability to output simulationresults for power. The top scope compares the power at the output of theinverter module 312 to the power at the input of the inverter module312. The middle scope compares power at the output of the transformer314 to the power consumed by the load 330 and the power supplied by thegrid 320. Finally, the bottom scope compares the selected motor speedwith the simulated motor speed and the turbine speed.

[0291] Illustrative embodiments of unique systems and methods forevaluating the performance of electrical power systems have beendescribed herein. These and other variations, which will be appreciatedby those skilled in the art, are within the intended scope of thisinvention as claimed below. As previously stated, detailed embodimentsof the present invention are disclosed herein; however, it is to beunderstood that the disclosed embodiments are merely exemplary of theinvention that may be embodied.

1. A computer program product for simulating the performance of anelectrical power system, said computer program product comprising: acomputer-readable medium; an electrical power system model module:stored on said computer readable medium, and comprising an electricalpower system model, said model comprising interrelated blocks andconnections, wherein said blocks represent elements comprisingelectrical circuits, electromechanical devices, and measurement devices,and wherein the relationships between said blocks and said connectionsin said model are read-only with respect to an end user; an inputmodule: stored on said computer-readable medium, and operable on acomputer to allow an end user to specify at least one characteristic forat least one said block in said model, and a simulation engine: storedon said computer-readable medium, and operable on a computer to simulatethe performance of an electrical power system represented by said modelusing said specified block characteristics, and output the results ofsaid simulation
 2. The computer program product of claim 1, wherein:said electrical power system model module comprises a plurality of saidmodels, said input module allows an end user: to choose one from amongsaid plurality of models for simulation, and to specify at least onecharacteristic for at least one said block in said chosen model; andsaid simulation engine is operable on a computer to simulate theperformance of an electrical power system represented by said chosenmodel using said specified block characteristics.
 3. The computerprogram product of claim 1, wherein said input module is furtheroperable on a computer to allow a user: to indicate a set of saidspecified characteristics as a saved electrical power system modelconfiguration; and to indicate a said saved configuration for simulationsaid simulation engine is operable on a computer to simulate theperformance of an electrical power system represented by said modelusing said saved configuration of specified characteristics.
 4. Thecomputer program product of claim 2, wherein said input module isfurther operable on a computer to allow a user: to indicate one of saidmodels and one set of said specified characteristics as a savedelectrical power system model configuration; and to indicate a saidsaved configuration for simulation said simulation engine is operable ona computer to simulate the performance of an electrical power systemrepresented by said saved configuration.
 5. In a computer system, acomputer-implemented, end-user assisted method for evaluating theperformance of an electrical power system, said method comprising:defining at least one electrical power system model in a computer, eachsaid model comprising: interrelated blocks and connections, wherein saidblocks represent elements comprising electrical circuits,electromechanical devices, and measurement devices, and wherein therelationships between said blocks and said connections in said model areread-only with respect to an end user; prompting an end user to set atleast one parameter for at least one said block; obtaining saidsettings; simulating the operation of said model within said setparameters; outputting the results of said simulation.
 6. The method ofclaim 5 further comprising prompting an end user to select one said atleast one model; and obtaining said selection.
 7. The method of claim 5further comprising: prompting an end user to save said settings; andobtaining direction from an end user to save said settings
 8. The methodof claim 5 wherein said at least one electrical power system modelcomprises: a source-and-grid model; a source-and-load model; and asource-grid-and-load model.